package com.github.prontera.domain;

import java.time.OffsetDateTime;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.github.prontera.model.BasicDomain;
import com.github.prontera.util.converter.jackson.OffsetDateTimeToIso8601Serializer;

import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.ToString;

/**
 * 
 * sys_regions-省市区表
 *
 */
@ToString
@EqualsAndHashCode(callSuper = true)
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler", "fieldHandler"}, ignoreUnknown = true)
public class Regions extends BasicDomain{

	private static final long serialVersionUID = 1L;
    
	/**
	 * 
	 */
	@ApiModelProperty(value = "")
    private Integer regionCode;
	/**
	 * 
	 */
	@ApiModelProperty(value = "")
    private Integer parentRegionCode;
	/**
	 * 
	 */
	@ApiModelProperty(value = "")
    private String value;
	/**
	 * 
	 */
	@ApiModelProperty(value = "")
    private Integer regionGrade;
	/**
	 * 
	 */
	@ApiModelProperty(value = "")
	 @JsonSerialize(using = OffsetDateTimeToIso8601Serializer.class)
    private OffsetDateTime lastUpdateTime;
    
    public Regions(){
    
    }
    
    public Integer getRegionCode() {
        return this.regionCode;
    }
    
    public void setRegionCode(Integer regionCode) {
        this.regionCode = regionCode;
    }
    public Integer getParentRegionCode() {
        return this.parentRegionCode;
    }
    
    public void setParentRegionCode(Integer parentRegionCode) {
        this.parentRegionCode = parentRegionCode;
    }
    public String getValue() {
        return this.value;
    }
    
    public void setValue(String value) {
        this.value = value;
    }
    public Integer getRegionGrade() {
        return this.regionGrade;
    }
    
    public void setRegionGrade(Integer regionGrade) {
        this.regionGrade = regionGrade;
    }
    public OffsetDateTime getLastUpdateTime() {
        return this.lastUpdateTime;
    }
    
    public void setLastUpdateTime(OffsetDateTime lastUpdateTime) {
        this.lastUpdateTime = lastUpdateTime;
    }
    
}
